Computer systems are known to have a host computer and a storage system. Data sets associated with applications that run on the host computer are stored in the storage system. The storage system generally includes a plurality of storage devices that are controlled by a plurality of controllers that may each have one or more logical subsystems. A failure that occurs in a component, such as a controller or a logical subsystem, impacts all data sets stored therein. Such a failure, sometimes known as a single point of failure, can be problematic if all the data sets of a client are stored in the failed component. Performance of simultaneous data access may also be problematic if the accessed data is stored on the same storage component.
The known computer systems generally allocate data sets for storage in the components of the storage system. For example, U.S. Pat. No. 5,790,886 describes an automated data storage space allocation system that uses prioritized parameters, such as available space, cache, performance, size, availability, location, portability and share status. To determine available storage devices, these data set parameters are compared with storage system characteristics, such as available space, cache, performance, portability, volatility, location, cost and fragmentation. The comparison is used to establish a linked chain of available storage devices in a preference ordered sequence. However, the automated procedure of this system does not address the problem of a single point of failure impacting all data sets allocated to the device in which the failure occurs.
Thus, a need exists for an improved data set allocation that is capable of data allocation in which storage locations for a data set can be allocated so as to separate the data set from other data sets.